﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Crosland.Automotriz.Logic.Linq;
using System.Configuration;
using System.Data;
using Crosland.Automotriz.Entidad;

namespace Crosland.Automotriz.Web.Vehiculos
{
    public partial class wFrmVentaExternaPersonasTienda : System.Web.UI.Page
    {
        string idNegocio = ConfigurationManager.AppSettings["Negocio"];

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack == false)
            {
                ListaAnio();
                cboMes.Value = DateTime.Now.Month.ToString();
                btnConsultar_Click(null, null);
            }
        }

        void ListaAnio()
        {
            clsTH_VentaBL da = new clsTH_VentaBL();
            IEnumerable<object> años;
            años = da.AniosFactura();
            cboAño.DataSource = años;
            cboAño.TextField = "anio";
            cboAño.ValueField = "anio";
            cboAño.DataBind();
            cboAño.Value = DateTime.Now.Year.ToString();
        }

        protected void btnSalir_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/Repuestos/wFrmDefault.aspx?id=" + idNegocio);
        }

        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            int dias;
            int Mes;
            int Año;
            Mes = int.Parse(cboMes.Value.ToString());
            Año = int.Parse(cboAño.Value.ToString());
            dias = DateTime.DaysInMonth(Año, Mes);

            string strfecha = "01/" + Mes.ToString("00") + "/" + Año.ToString("0000");
            DateTime fecha = DateTime.Parse(strfecha);

            int cae = 0;
            if (fecha.DayOfWeek == DayOfWeek.Monday)
                cae = 1;
            else if (fecha.DayOfWeek == DayOfWeek.Tuesday)
                cae = 2;
            else if (fecha.DayOfWeek == DayOfWeek.Wednesday)
                cae = 3;
            else if (fecha.DayOfWeek == DayOfWeek.Thursday)
                cae = 4;
            else if (fecha.DayOfWeek == DayOfWeek.Friday)
                cae = 5;
            else if (fecha.DayOfWeek == DayOfWeek.Saturday)
                cae = 6;
            else if (fecha.DayOfWeek == DayOfWeek.Sunday)
                cae = 0;

            DataTable dtCrono = new DataTable();
            DataRow dr;
            dtCrono.Columns.Add("Domingo");
            dtCrono.Columns.Add("Lunes");
            dtCrono.Columns.Add("Martes");
            dtCrono.Columns.Add("Miercoles");
            dtCrono.Columns.Add("Jueves");
            dtCrono.Columns.Add("Viernes");
            dtCrono.Columns.Add("Sabado");

            dr = dtCrono.NewRow();
            dr[0] = "";
            dr[1] = "";
            dr[2] = "";
            dr[3] = "";
            dr[4] = "";
            dr[5] = "";
            dr[6] = "";
            dr[cae] = 1;
            int dia = 1;
            for (int x = cae; x <= 6; x++)
            {
                dr[x] = dia;
                dia++;
            }
            dtCrono.Rows.Add(dr);


            for (int i = 1; i <= 5; i++)
            {
                if (dia > dias)
                {
                    break;
                }

                dr = dtCrono.NewRow();
                for (int w = 0; w <= 6; w++)
                {
                    if (dia <= dias)
                    {
                        dr[w] = dia;
                        dia = dia + 1;
                    }
                    else
                    {
                        dr[w] = "";
                    }

                }
                dtCrono.Rows.Add(dr);
            }

            dgCrono.DataSource = dtCrono;
            dgCrono.DataBind();

            for (int i = 0; i < dtCrono.Rows.Count; i++)
            {
                LinkButton lnkDomingo = new LinkButton();
                lnkDomingo = (LinkButton)dgCrono.Rows[i].FindControl("lnkDomingo");
                if (lnkDomingo.Text != "")
                {
                    lnkDomingo.PostBackUrl = "~/Vehiculos/wFrmVentaExternaPersonasTiendaActualizar.aspx?id=" + idNegocio + "&anio=" + Año + "&mes=" + Mes + "&dia=" + lnkDomingo.Text;
                }

                LinkButton lnkLunes = new LinkButton();
                lnkLunes = (LinkButton)dgCrono.Rows[i].FindControl("lnkLunes");
                if (lnkLunes.Text != "")
                {
                    lnkLunes.PostBackUrl = "~/Vehiculos/wFrmVentaExternaPersonasTiendaActualizar.aspx?id=" + idNegocio + "&anio=" + Año + "&mes=" + Mes + "&dia=" + lnkLunes.Text;
                }

                LinkButton lnkMartes = new LinkButton();
                lnkMartes = (LinkButton)dgCrono.Rows[i].FindControl("lnkMartes");
                if (lnkMartes.Text != "")
                {
                    lnkMartes.PostBackUrl = "~/Vehiculos/wFrmVentaExternaPersonasTiendaActualizar.aspx?id=" + idNegocio + "&anio=" + Año + "&mes=" + Mes + "&dia=" + lnkMartes.Text;
                }

                LinkButton lnkMiercoles = new LinkButton();
                lnkMiercoles = (LinkButton)dgCrono.Rows[i].FindControl("lnkMiercoles");
                if (lnkMiercoles.Text != "")
                {
                    lnkMiercoles.PostBackUrl = "~/Vehiculos/wFrmVentaExternaPersonasTiendaActualizar.aspx?id=" + idNegocio + "&anio=" + Año + "&mes=" + Mes + "&dia=" + lnkMiercoles.Text;
                }

                LinkButton lnkJueves = new LinkButton();
                lnkJueves = (LinkButton)dgCrono.Rows[i].FindControl("lnkJueves");
                if (lnkJueves.Text != "")
                {
                    lnkJueves.PostBackUrl = "~/Vehiculos/wFrmVentaExternaPersonasTiendaActualizar.aspx?id=" + idNegocio + "&anio=" + Año + "&mes=" + Mes + "&dia=" + lnkJueves.Text;
                }

                LinkButton lnkViernes = new LinkButton();
                lnkViernes = (LinkButton)dgCrono.Rows[i].FindControl("lnkViernes");
                if (lnkViernes.Text != "")
                {
                    lnkViernes.PostBackUrl = "~/Vehiculos/wFrmVentaExternaPersonasTiendaActualizar.aspx?id=" + idNegocio + "&anio=" + Año + "&mes=" + Mes + "&dia=" + lnkViernes.Text;
                }

                LinkButton lnkSabado = new LinkButton();
                lnkSabado = (LinkButton)dgCrono.Rows[i].FindControl("lnkSabado");
                if (lnkSabado.Text != "")
                {
                    lnkSabado.PostBackUrl = "~/Vehiculos/wFrmVentaExternaPersonasTiendaActualizar.aspx?id=" + idNegocio + "&anio=" + Año + "&mes=" + Mes + "&dia=" + lnkSabado.Text;
                }

            }

            string idUsuario = Session["User"].ToString();
            clsTH_Venta_Externa_DatosBL neg = new clsTH_Venta_Externa_DatosBL();
            List<TH_VENTA_EXTERNA_DATOS> lista = new List<TH_VENTA_EXTERNA_DATOS>();
            lista = neg.Listar(Año, Mes, idUsuario);

            int diafor = 0;

            for (int i = 0; i < dtCrono.Rows.Count; i++)
            {
                for (int x = 0; x < lista.Count; x++)
                {
                    if (lista[x].NRO_PERSONAS_TIENDA != null)
                    {
                        diafor = lista[x].FECHA_REGISTRO.Day;

                        LinkButton lnkDomingo = new LinkButton();
                        lnkDomingo = (LinkButton)dgCrono.Rows[i].FindControl("lnkDomingo");
                        if (lnkDomingo.Text != "")
                        {
                            if (diafor == int.Parse(lnkDomingo.Text))
                            {
                                lnkDomingo.BackColor = System.Drawing.Color.FromName("Honeydew");
                            }
                        }


                        LinkButton lnkLunes = new LinkButton();
                        lnkLunes = (LinkButton)dgCrono.Rows[i].FindControl("lnkLunes");
                        if (lnkLunes.Text != "")
                        {
                            if (diafor == int.Parse(lnkLunes.Text))
                            {
                                lnkLunes.BackColor = System.Drawing.Color.FromName("Honeydew");
                            }
                        }

                        LinkButton lnkMartes = new LinkButton();
                        lnkMartes = (LinkButton)dgCrono.Rows[i].FindControl("lnkMartes");
                        if (lnkMartes.Text != "")
                        {
                            if (diafor == int.Parse(lnkMartes.Text))
                            {
                                lnkMartes.BackColor = System.Drawing.Color.FromName("Honeydew");
                            }
                        }

                        LinkButton lnkMiercoles = new LinkButton();
                        lnkMiercoles = (LinkButton)dgCrono.Rows[i].FindControl("lnkMiercoles");
                        if (lnkMiercoles.Text != "")
                        {
                            if (diafor == int.Parse(lnkMiercoles.Text))
                            {
                                lnkMiercoles.BackColor = System.Drawing.Color.FromName("Honeydew");
                            }
                        }

                        LinkButton lnkJueves = new LinkButton();
                        lnkJueves = (LinkButton)dgCrono.Rows[i].FindControl("lnkJueves");
                        if (lnkJueves.Text != "")
                        {
                            if (diafor == int.Parse(lnkJueves.Text))
                            {
                                lnkJueves.BackColor = System.Drawing.Color.FromName("Honeydew");
                            }
                        }

                        LinkButton lnkViernes = new LinkButton();
                        lnkViernes = (LinkButton)dgCrono.Rows[i].FindControl("lnkViernes");
                        if (lnkViernes.Text != "")
                        {
                            if (diafor == int.Parse(lnkViernes.Text))
                            {
                                lnkViernes.BackColor = System.Drawing.Color.FromName("Honeydew");
                            }
                        }

                        LinkButton lnkSabado = new LinkButton();
                        lnkSabado = (LinkButton)dgCrono.Rows[i].FindControl("lnkSabado");
                        if (lnkSabado.Text != "")
                        {
                            if (diafor == int.Parse(lnkSabado.Text))
                            {
                                lnkSabado.BackColor = System.Drawing.Color.FromName("Honeydew");
                            }
                        }
                    }
                }
            }
        }
    }
}